package web.fabrimind.wms.service;

import java.util.List;
import web.fabrimind.wms.domain.WarehouseLocation;

/**
 * 仓库库位Service接口
 * 
 * @author zhihui
 * @date 2025-03-28
 */
public interface IWarehouseLocationService 
{
    /**
     * 查询仓库库位
     * 
     * @param locationId 仓库库位主键
     * @return 仓库库位
     */
    public WarehouseLocation selectWarehouseLocationByLocationId(Long locationId);

    /**
     * 查询仓库库位列表
     * 
     * @param warehouseLocation 仓库库位
     * @return 仓库库位集合
     */
    public List<WarehouseLocation> selectWarehouseLocationList(WarehouseLocation warehouseLocation);

    /**
     * 新增仓库库位
     * 
     * @param warehouseLocation 仓库库位
     * @return 结果
     */
    public int insertWarehouseLocation(WarehouseLocation warehouseLocation);

    /**
     * 修改仓库库位
     * 
     * @param warehouseLocation 仓库库位
     * @return 结果
     */
    public int updateWarehouseLocation(WarehouseLocation warehouseLocation);

    /**
     * 批量删除仓库库位
     * 
     * @param locationIds 需要删除的仓库库位主键集合
     * @return 结果
     */
    public int deleteWarehouseLocationByLocationIds(Long[] locationIds);

    /**
     * 删除仓库库位信息
     * 
     * @param locationId 仓库库位主键
     * @return 结果
     */
    public int deleteWarehouseLocationByLocationId(Long locationId);

    /**
     * 查询所属仓库列表（不分页）
     */
    List<WarehouseLocation> selectWarehouseList(WarehouseLocation warehouseLocation);
}
